Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
babel-plugin-syntax-trailing-function-commas
Advanced tools
Compile trailing function commas to ES5
The babel-plugin-syntax-trailing-function-commas npm package allows Babel to parse trailing commas in function parameter lists and calls. This is particularly useful for improving the readability and maintainability of code by allowing developers to add new parameters without modifying the last line of the existing parameters.
Parsing trailing commas in function parameters
This feature enables the parsing of trailing commas in function parameter lists, which can help in minimizing diff outputs when new parameters are added.
function example(a, b, c,) {\n return a + b + c;\n}
Parsing trailing commas in function calls
This feature allows for trailing commas in function calls, aligning with the enhanced syntax capabilities for array and object literals.
example(1, 2, 3,);
Compile trailing function commas to ES5
function clownPuppiesEverywhere(
param1,
param2,
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
);
This is an example from the Proposal.
Let's say you have this function:
function clownPuppiesEverywhere(
param1,
param2
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar'
);
If you want to have a new parameter called param3
, the diff output would be like that:
function clownPuppiesEverywhere(
param1,
- param2
+ param2, // Change this line to add a comma
+ param3 // Add param3
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
- 'bar'
+ 'bar', // Change this line to add a comma
+ 'baz' // Add param3
);
In total, you have to change 2 lines for the function declaration and 2 lines for each usage.
If you had your function defined with trailing commas:
function clownPuppiesEverywhere(
param1,
param2,
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
);
Adding a new parameter would only change one line in the function declaration and one line for each usage:
function clownPuppiesEverywhere(
param1,
param2,
+ param3, // Add param3
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
+ 'baz', // Add param3
);
In the end, your diff output will be cleaner and easier to read, it would be much quicker to add a new parameter to your functions, it also makes it easier to copy paste elements and move code around.
npm install --save-dev babel-plugin-syntax-trailing-function-commas
.babelrc
(Recommended).babelrc
{
"plugins": ["syntax-trailing-function-commas"]
}
babel --plugins syntax-trailing-function-commas script.js
require("babel-core").transform("code", {
plugins: ["syntax-trailing-function-commas"]
});
FAQs
Compile trailing function commas to ES5
The npm package babel-plugin-syntax-trailing-function-commas receives a total of 2,268,038 weekly downloads. As such, babel-plugin-syntax-trailing-function-commas popularity was classified as popular.
We found that babel-plugin-syntax-trailing-function-commas demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.